package com.ruoyi.system.mapper;

import java.util.List;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.ruoyi.system.domain.LOrderbill;
import com.ruoyi.system.vo.LOrderReportVo;
import com.ruoyi.system.vo.LOrderReportlParam;
import com.ruoyi.system.vo.LOrderbillVo;
import org.apache.ibatis.annotations.Param;

/**
 * 订单Mapper接口
 *
 * @author zyb
 * @date 2022-01-02
 */
public interface LOrderbillMapper extends BaseMapper<LOrderbill> {
    /**
     * 查询订单
     *
     * @param billid 订单主键
     * @return 订单
     */
    public LOrderbill selectLOrderbillByBillid(Integer billid);

    /**
     * 查询订单列表
     *
     * @param lOrderbill 订单
     * @return 订单集合
     */
    public List<LOrderbill> selectLOrderbillList(LOrderbill lOrderbill);

    public List<LOrderbillVo> selectLOrderbillVoList(LOrderbill lOrderbill);

    /**
     * 新增订单
     *
     * @param lOrderbill 订单
     * @return 结果
     */
    public int insertLOrderbill(LOrderbill lOrderbill);

    /**
     * 修改订单
     *
     * @param lOrderbill 订单
     * @return 结果
     */
    public int updateLOrderbill(LOrderbill lOrderbill);

    /**
     * 删除订单
     *
     * @param billid 订单主键
     * @return 结果
     */
    public int deleteLOrderbillByBillid(Integer billid);

    /**
     * 批量删除订单
     *
     * @param billids 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteLOrderbillByBillids(Integer[] billids);

    /**
     * 根据订单号前缀获取总数
     */
    int selectCountByBillCode(@Param("billcode") String billcode);

    List<LOrderbillVo>  orderListNotExebilldetail(@Param("areaId") Long areaId,@Param("billid") Long billid);

    List<LOrderReportVo> orderReport(LOrderReportlParam orderReportlParam);

    List<LOrderbillVo> orderNotWaybill(@Param("billid") Long billid);



}
